package com.wjm.blog.common.enums;

/**
 * 系统语言枚举
 *
 * @author jiyuan
 * @version 1.0
 * @date 2020/12/29 17:30
 */
public enum LanguageEnum {

    // 中文
    CHINESE(0, "zh_CN"),
    // 英文
    ENGLISH(1, "en_US");

    /**
     * 编码
     */
    private int code;

    /**
     * 信息
     */
    private String message;

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    LanguageEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 根据Code查询枚举 (注解校验时调用查询的参数)
     *
     * @param code 编码值
     * @return DateIndexEnum
     */
    public static LanguageEnum getByCode(int code) {
        for (LanguageEnum l : LanguageEnum.values()) {
            if (l.getCode() == code) {
                return l;
            }
        }
        return LanguageEnum.CHINESE;
    }

    /**
     * 根据传入字符匹配语言
     *
     * @param message
     * @return 返回匹配到的语言, 如果没有查询到默认返回中文
     */
    public static LanguageEnum getByMessage(String message) {
        for (LanguageEnum l : LanguageEnum.values()) {
            if (l.getMessage().equalsIgnoreCase(message)) {
                return l;
            }
        }
        return LanguageEnum.CHINESE;
    }
}
